# 定义编译器  
CC = gcc  

# 编译选项  
CFLAGS = -Wall -g  

# 目标可执行文件的名称  
TARGET = testsm416 

# 源文件  
SRCS = sm4.c test.c  

# 头文件  
HEADERS = sm4.h  

# 生成的对象文件  
OBJS = sm4.o test.o  

# 默认目标  
all: $(TARGET)  

# 链接生成可执行文件  
$(TARGET): $(OBJS)  
	$(CC) $(CFLAGS) -o $@ $(OBJS)  

# 编译 sm4.o  
sm4.o: sm4.c sm4.h  
	$(CC) $(CFLAGS) -c sm4.c  

# 编译 test.o  
test.o: test.c sm4.h  
	$(CC) $(CFLAGS) -c test.c  

# 清理生成的文件  
clean:  
	rm -f $(OBJS) $(TARGET)
